package com.itheima.edu.info.manager.dao;

import com.itheima.edu.info.manager.domain.Student;
import com.itheima.edu.info.manager.domain.Teacher;

//添加老师方法
public class TeacherDao {
    //创建一个长度为5的数组容器
    private static Teacher[] teas = new Teacher[5];
    public boolean addTeacher(Teacher tea) {
        //定义一个标记:index,初始值为-1,假设这个位置能存了
        int index = -1;

        //遍历数组
        for (int i = 0; i < teas.length; i++) {
            //获取到数组中当前索引位置的元素
            Teacher teacher = teas[i];

            //判断当前索引位置的元素是否有null
            if (teacher == null){
                //说明数组还没有存满,当前这个索引是null,就可以用,修改index的值
                index = i;
                break;
            }
        }

        //据index的值来判断本次能否成功添加
        if (index == -1){
            return false;
        }else {
            //不是-1说明有坑,有坑就占着
            teas[index] = tea;
            return true;
        }

    }

    //查询所有老师
    public Teacher[] finAllTeacher(){

        return this.teas;
    }
    public void deleteTeacherById(String delId) {
        //查找id在容器中所在的索引位置
        int index = getIndex(delId);
        //将索引的位置使用null进行覆盖
        teas[index] = null;
    }

    private int getIndex(String id) {
        //先假设要查找的id不存在
        int index = -1;
        //遍历数组容器
        for (int i = 0; i < teas.length; i++) {
            //拿到每一个老师对象
            Teacher tea = teas[i];

            if (tea != null && tea.getId().equals(id)){
                index = i;
                break;
            }
        }
        return index;
    }


    public void updateTeacher(String updateId, Teacher newTea) {
        //查找updateId在容器中的索引位置
        int index = getIndex(updateId);
        //将该索引位置使用新的老师对象替换
        teas[index] = newTea;
    }

    //查询索引老师
    public Teacher[] findAllTeacher() {
        return this.teas;
    }
}
